CC=gcc
CXX=g++
EXTRADEFS=-DLINUX_OS \
	-DGIMI_NO_DATATYPE_INCLUDES
INCLUDES=-I. -I.. 
CFLAGS=-O0 -g3 -Wall $(INCLUDES) $(CE) \
	$(EXTRADEFS)
CPPFLAGS=-O0 -g3 -Wall $(INCLUDES) -Weffc++ \
	$(EXTRADEFS)
LD=g++
LDFLAGS=
LIBS=-lrt -lpthread -ljpeg

# Define COMPILE and LINK commands
COMPILEC=$(CC) $(CFLAGS) -c
COMPILECPP=$(CXX) $(CPPFLAGS) -c
LINK=$(LD) $(LDFLAGS) $(LIBS)

.PHONY: all clean


###############################################################################
###############################################################################
# To compile ALL examples

all:	JPEGDecoder_example
###############################################################################
#################### Rules for different example programs #####################
###############################################################################

# Rule for JPEGDecoder EXAMPLE
JPEGDECODER_OBJECTS=JPEGDecoder.opp JPEGDecoder_example.opp
JPEGDecoder_example: $(JPEGDECODER_OBJECTS)
	$(LINK) -o $@ $^
###############################################################################
###############################################################################
###############################################################################
# To clean up
clean:
	rm -f *~ \
	$(JPEGDECODER_OBJECTS)

realclean: clean
	rm -f \
	JPEGDecoder_example
###############################################################################
###############################################################################

# Compile rule for all .o (.c) file
%.o:	%.c
	$(COMPILEC) -o $@ $<

# Compile rule for all .opp (.cpp) files
%.opp:	%.cpp
	$(COMPILECPP) -o $@ $<

###############################################################################


